Voice-based processing systems respond user-telephoned inquiries by providing intelligible voice response that provides the requested information. Some transactions which are now performed on voice-based processing systems are:
the caller is requested to provide an account number via the telephone keypad, at which point, the processor employs the inputted number to find an account balance and then reads the balance to the caller; PA1 the system provides the caller with information such as current interest rates; PA1 the system enters information from the caller into a data base, such as the status of a sales order or a repair call; or PA1 the system places outgoing calls, automatically, for service orders or appointments, using data from a host computer.
Generally, voice-based processing systems employ interface unit which will hereafter be called a voice processing unit (VPU). A VPU is a trainable processor-based, voice-response system that replaces a human intermediary between the telephone inquirer and a host processor. One such prior art VPU is the IBM 9270. The 9270 VPU communicates with its host processor through a system of screen transactions. In specific, when the VPU receives an inquiry from a user, it requests a "screen" data from the host processor that includes the requested data. A screen is a pixel image prepared by application software in the host processor in response to an inquiry. The screen is supplied the VPU for the purpose of providing an answer in response to the inquiry. Since most, if not all, host processors have the ability to construct screen from an internal application program, the use of the screen as an interface enables a VPU interface with a variety of host processors that are not necessarily software compatible.
Once the VPU receives a screen, it must identify an object on the screen where the requested data can be found. This function was achieved in the 9270 by initially providing a training session for the VPU wherein host screens were supplied to enable the VPU to store information regarding the location of specific screen objects. Objects (e.g. fields) could be identified by attaching a label or by providing a row and column position indicator. Once the training was completed, the VPU would then have a library of label/position locations for each object which could then be used during a subsequent operation to enable location of the requested object.
So long as host-generated screens were static and did not change their position between training time and execution time, such location data was sufficient to enable the position of an object to be determined. However, it has been found that screens tend to be moved, edited, or positionally changed during processing. For example, scrolling actions occur where all objects within a screen are moved in tandem in a common direction. Once such screen movement occurs, all fixed positional data must be updated in order to enable the objects to be thereafter located. This updating is time consuming and often requires reentry into a training phase.
The prior art has disclosed various methods for locating data on screen displays. Clearly, the most widely used method is where a user positions a cursor at a chosen screen object. This method has no application where the user is replaced by an automatic response unit. Automatic object location systems of various types can be found in the following patents. Brudevold in U.S. Pat. No. 4,094,000, entitled "Graphics Display Unit" describes a display system wherein a "begin" register is employed to denote where an image object starts. When a screen is moved, the begin register value is incremented so as to enable its associated object to be moved accordingly. In other words, each object is associated with its "begin" value and by incrementing the begin value, the entire object can be moved, and later located.
Hevenor, Jr., U.S. Pat. No. 4,419,740 entitled "Method For Restoring And Retrieving Data" teaches the association of memory locations by providing a table that relates those location to given zones on a memory storage device. Ono, in U.S. Pat. No. 4,825,387 entitled "Frame Positioning Method" positionally relates microfiche frames in accordance with relative positional dimensions of a particular frame with respect to a pair of base or benchmark frames.
McCarthy et. al. in U.S. Pat. No. 4,905,168 entitled "Object Processing for Video System Using Slips and Linked List" describes a system for determining when a moving object in a video game collides with a fixed object. All moving objects are located by offsets from a reference point on a video game "playfield". Each time an object moves on the screen, its relative position to the reference point must be updated. The relative positions are employed to determine whether object collisions have occurred.
It is an object of this invention to provide an improved system for automatically locating screen objects.
It is another object of this invention to provide a voice response unit that operates in a screen interface mode with a screen object location method that enables objects to be located on the screen, notwithstanding screen movements.